package com.hsr.web.exception;


import com.hsr.web.enums.ResultCode;
import com.hsr.web.utils.ResultVOUtil;
import com.hsr.web.vo.ResultVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 抛出到controller的未处理异常统一捕获处理
 */
@ControllerAdvice
@ResponseBody
@Slf4j
public class ExceptionHandlerAdvice {


    @ExceptionHandler(ResultException.class)
    public ResultVO handleException(ResultException e) {
        log.error(e.getMessage(), e);
        return ResultVOUtil.error(e.getResultCode());
    }


    @ExceptionHandler(Exception.class)
    public ResultVO handleException(Exception e) {
        log.error(e.getMessage(), e);
        return ResultVOUtil.error(ResultCode.COMMON_FAIL);
    }

}
